package com.crm.model.bo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.crm.model.dto.BasePageParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @version 1.0
 * @author: CRM_SYSTEM
 * @date: 2022/4/1 22:07
 * @Description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class EmployeeProjectPageBo  extends BasePageParam implements Serializable {
    /**
     * 员工Id
     */
    @ApiModelProperty("员工Id")
    private Long employeeId;

    /**
     * 项目编号
     */
    @ApiModelProperty("项目编号")
    private String projectCode;

    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 项目描述
     */
    @ApiModelProperty("项目描述")
    private String projectDescribe;

    /**
     * 项目类型：100001=培训服务 100002=体能测试
     */
    @ApiModelProperty("项目类型：100001=培训服务 100002=体能测试")
    private Integer projectType;

    /**
     * 项目开始时间
     */
    @ApiModelProperty("项目开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime projectStarterTime;

    /**
     * 项目结束时间
     */
    @ApiModelProperty("项目结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime projectEndTime;

    /**
     * 状态Code
     */
    @ApiModelProperty("状态Code")
    private Integer statusCode;

    /**
     * 状态名称
     */
    @ApiModelProperty("状态名称")
    private String statusName;

    /**
     * 预约时间
     */
    @ApiModelProperty("预约时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime orderTime;

    /**
     * 完成时间
     */
    @ApiModelProperty("完成时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime completionTime;

    /**
     * 结果描述
     */
    @ApiModelProperty("结果描述")
    private String result;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 关联场地id
     */
    @ApiModelProperty("关联场地id")
    private Long siteId;

    /**
     * 关联场地名称
     */
    @ApiModelProperty("关联场地名称")
    private String siteName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime gmtCreate;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String byCreate;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime gmtModified;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String byModified;

    /**
     * 1 表示删除，0 表示未删除
     */
    private Integer isDeleted;

    /**
     * 创建者Id
     */
    @ApiModelProperty("是否创建者")
    private Boolean isCreate;

    /**
     * 创建者Id
     */
    @ApiModelProperty("创建者Id")
    private Long createEmployeeId;
}
